#pragma once

//这个是默认的缓冲区大小
#define SIZE 1024

//定义这个是为了实现三种状态
#define FLUSH_NOW (1<<0)
#define FLUSH_LINE (1<<1)
#define FLUSH_ALL (1<<2)

typedef struct FILE
{
    int fd;
    char outbuffer[SIZE]; //充当缓冲区其实也就是一块数组空间
    int out_pos;  //表示当前缓冲区存储了多少个字符
    int flag; //控制刷新方式
}FILE;

FILE* _fopen(const char* filename, const char* mode);
void _fclose(FILE* _pf);
int _fwrite(FILE* pfile, const char* str, int len);
void _fflush(FILE* pf);
